package com.kuangstudy.service.list;

import com.kuangstudy.entity.Product;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;

import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

/**
 * @author 飞哥
 * @Title: 学相伴出品
 * @Description: 我们有一个学习网站：https://www.kuangstudy.com
 * @date 2021/5/25 17:17
 */
@Service
@Log4j2
public class RedPackageListService {

    @Autowired
    private RedisTemplate redisTemplate;

    /**
     * 红包分解
     *
     * @param total
     * @param count
     * @return
     */
    public static Integer[] splitRedPackage(int total, int count) {
        int use = 0;
        Integer[] array = new Integer[count];
        Random random = new Random();
        for (int i = 0; i < count; i++) {
            if (i == count - 1) {
                // 如果是最后一个红包了，就直接用总金额减去使用的
                array[i] = total - use;
            } else {
                // 这里把们每个红包已经使用的红包进行拆解，然后除以还剩下的人数的平均数
                int avg = (total - use) * 2 / (count - i);
                // 然后在随机放入一个金额到红包中。
                array[i] = 1 + random.nextInt(avg - 1);
            }
            // 已使用的红包
            use = use + array[i];
        }
        // 返回所有红包的总数
        return array;
    }

    public static void main(String[] args) {
        Integer[] integers = splitRedPackage(100, 20);
        for (Integer integer : integers) {
            System.out.println(integer);
        }
    }
}
